package com.niiwoo.civet.user.service.myCustomer;


import com.niiwoo.civet.user.dto.request.NiiwooScorePageRequestDTO;
import com.niiwoo.civet.user.dto.request.myCustomer.*;
import com.niiwoo.civet.user.dto.response.myCustomer.*;
import com.niiwoo.tripod.provider.dto.response.PageResponseDTO;

/**
 * Created by laichunjing on 2018/04/25.
 */

public interface MyCustomerInfoDubboService {
     /**
      * 客服首页数据
      * @param userId
      * @return
      */
     MyCustomerHomePageResponseDTO myCustomerHomePageList(String userId);

     /**
      * 问题搜索
      * @param content
      * @return
      */
     QueryContentResponseDTO queryProblemsList(String content);

     /**
      * 关键词列表
      * @param userId
      * @return
      */
     KeyWordListResponseDTO queryKeyWordList(String userId);

     /**
      * 根据关键词查询问题列表
      * @param keyWordId
      * @param userId
      * @return
      */
     public ProblemListResponseDTO queryProblemListByKeyword(Long keyWordId, String  userId);

     /**
      * 问题详情
      * @param questionId
      * @return
      */
     public ProblemDetailResponseDTO showQuestionDetail(Long questionId,Long keywordId,String userId);

     /**
      * 修改问题状态
      * @param requestDTO
      * @return
      */
     public ProblemStatusResponseDTO updateAnswerStatus(ProblemStatusRequestDTO requestDTO);

     /**
      * 保存反馈结果
      * @param requestDTO
      * @return
      */
     public boolean saveFeedBackInfo(NewFeedBackSaveRequestDTO requestDTO);
     /**
      * 查询反馈记录
      * @param requestDTO
      * @return
      */
     public PageResponseDTO<FeedBackInfoResponseDTO> showFeedBackRecord(NiiwooScorePageRequestDTO requestDTO);
     /**
      * 反馈详情
      * @param requestDTO
      * @return
      */
     public FeedBackDetailResponseDTO feedBackDetails(FeedBackDetailRequestDTO requestDTO);

     /**
      * 追加反馈
      * @param requestDTO
      * @return
      */
     public boolean appendFeedBackInfo(AppendFeedBackRequestDTO requestDTO);

     /**
      * 反馈解决状态
      * @param requestDTO
      * @return
      */
     public boolean feedBackSolveStatus(FeedBackStatusRequestDTO requestDTO);
     /**
      * 统计PV和UV
      * @param requestDTO
      * @return
      */
     public boolean accountPVAndUV(AccountPVAndUVRequestDTO requestDTO);
     /**
      * 反馈是否最新回复
      * @param userId
      * @return
      */
     default FeedBackIsNewReceiveResponseDTO feedBackisNewReceive(String userId){
          throw new UnsupportedOperationException("UnImplement");
     }

}
